package com.deve.pig.service.category;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import my.utils.Pagination;

import com.deve.pig.model.Category;
import com.deve.pig.model.CategoryExample;

public interface ICategoryService
{
	/**
	 * @Description:
	 * @param entity
	 */
	int add(Category entity);

	/**
	 * @Description:
	 * @param example
	 */
	int delete(CategoryExample example);

	/**
	 * @Description:
	 * @param id
	 */
	int delete(int id);

	/**
	 * @Description:
	 * @param entity
	 */
	int update(Category entity);

	/**
	 * @Description:
	 * @param queryMap 查询参数
	 * @param currentPage 当前页
	 * @param pageSize 每页大小
	 */
	Pagination findPagination(Map<String, Object> queryMap, int currentPage,
			int pageSize);

	/**
	 * @Description:
	 * @param id
	 */
	Category findById(int id);

	/**
	 * @Description:
	 */
	List<Category> findAll();

	/**
	 * @Description:
	 */
	List<Category> findByCriteria(
			CategoryExample criteria);

	/**
	 * @Description: 获取导出到Excel的数据
	 */
	@SuppressWarnings("unchecked")
	LinkedHashMap<String, List> getExportData();

	/**
	 * @Description: 根据父id查询文献分类数量
	 */
	int findCountByPid(int id, List<Byte> status);

	/**
	 * @Description: 根据父id查询文献分类
	 */
	List<Category> findByPid(int id, List<Byte> status);
}